#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/types.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#define KEY 1111

int main(){
	int mid;
	char *maddr;	
	char buff[2000];
	//创建共享内存
	if ((mid = shmget(KEY, 2000, IPC_CREAT|0666))<0){
		perror("shmget");
		exit(1);
	}
	//映射共享内存
	if((maddr = shmat(mid, 0, 0))==(void*)-1){
		perror("shmat");
		exit(1);
	}
	//读出
	strcpy(buff, maddr);
	printf("Shared memory:\n%s\n", buff);
	
	//解除
	if((shmdt(maddr))<0){
		perror("shmdt");
		exit(1);
	}
	
	return 0;
}
